package modelo;

import java.io.Serializable;
import java.util.Collection;
import java.util.Date;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;

@Entity

public class Tesina implements Serializable, Comparable<Tesina> {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	@Id
	@GeneratedValue
	private Long id;
	private String titulo;
	private String autor;
	private String director;
	private String carrera;
	private String resumen;
	private String concluciones;
	private String trabajosFuturos;
	private String trabajosRealizados;
	private Date fechaPresentacion;
	private String votoPositivos="0";
	private String votoNegativos="0";
	
	
    @OneToMany(mappedBy="tesina", fetch=FetchType.EAGER, cascade = {CascadeType.ALL})
    private Collection <Comentario> comentarios;
    
    @OneToMany(mappedBy="tesinaCuestionario", fetch=FetchType.EAGER, cascade = {CascadeType.ALL})
    private Set <Cuestionario> cuestionarios=null;
    
    @OneToMany(mappedBy="tesina", fetch=FetchType.EAGER, cascade = {CascadeType.ALL})
    private Set <PalabraClave> palabrasClaves=null;
    
    public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getTitulo() {
		return titulo;
	}
	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}
	public String getAutor() {
		return autor;
	}
	public void setAutor(String autor) {
		this.autor = autor;
	}
	public String getDirector() {
		return director;
	}
	public void setDirector(String director) {
		this.director = director;
	}
	public String getCarrera() {
		return carrera;
	}
	public void setCarrera(String carrera) {
		this.carrera = carrera;
	}
	public String getResumen() {
		return resumen;
	}
	public void setResumen(String resumen) {
		this.resumen = resumen;
	}
	public String getConcluciones() {
		return concluciones;
	}
	public void setConcluciones(String concluciones) {
		this.concluciones = concluciones;
	}
	public String getTrabajosFuturos() {
		return trabajosFuturos;
	}
	public void setTrabajosFuturos(String trabajosFuturos) {
		this.trabajosFuturos = trabajosFuturos;
	}
	public String getTrabajosRealizados() {
		return trabajosRealizados;
	}
	public void setTrabajosRealizados(String trabajosRealizados) {
		this.trabajosRealizados = trabajosRealizados;
	}


	public Date getFechaPresentacion() {
		return fechaPresentacion;
	}


	public void setFechaPresentacion(Date fechaPresentacion2) {
		this.fechaPresentacion = fechaPresentacion2;
	}


	public static long getSerialversionuid() {
		return serialVersionUID;
	}
	public Collection<Comentario> getComentarios() {
		return comentarios;
	}
	public void setComentarios(Collection<Comentario> comentarios) {
		this.comentarios = comentarios;
	}
	public String getVotoPositivos() {
		return votoPositivos;
	}
	public void setVotoPositivos(String votoPositivos) {
		this.votoPositivos = votoPositivos;
	}
	public String getVotoNegativos() {
		return votoNegativos;
	}
	public void setVotoNegativos(String votoNegativos) {
		this.votoNegativos = votoNegativos;
	}
	@Override
	public int compareTo(Tesina o) {
		// TODO Auto-generated method stub
		return 0;
	}
	public Set<Cuestionario> getCuestionarios() {
		return cuestionarios;
	}
	public void setCuestionarios(Set<Cuestionario> cuestionarios) {
		this.cuestionarios = cuestionarios;
	}
	public Set<PalabraClave> getPalabrasClaves() {
		return palabrasClaves;
	}
	public void setPalabrasClaves(Set<PalabraClave> palabrasClaves) {
		this.palabrasClaves = palabrasClaves;
	}
	
}
